home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacAddict: Utilities
/
MacAddict S Utilities.iso
/
Utilities
/
Creative Tools
/
TypeIndexer2.0.4
/
TypeIndexer2.0.4dl
/
TypeIndexer2.0.4dl.rsrc
/
FNSP_100_Adobe’s FontSample.PS
< prev
next >
Wrap
Text File
|
1996-08-28
|
8KB
|
277 lines
%!
%!
%The digitally encoded machine readable software for producing the
%Typefaces licensed to you is copyrighted (c) 1984-90 Adobe Systems,
%(c) 1981 Linotype. All rights reserved. This software is protected as a
%trade secret and is the property of Adobe Systems Incorporated and its
%licensors, and may not be reproduced, used, displayed, modified,
%disclosed or transferred without the express written approval of Adobe.
% sort.ps
/$sort 20 dict def
/SortInit % return root of empty binary tree
{1 array} def
/Insert % <root> <string> inserts string in tree
{exch dup 0 get type /nulltype eq
{exch [ exch 1 array 1 array ] 0 exch put}
{aload pop aload pop 4 2 roll 2 copy gt
{pop 3 -1 roll pop Insert}
{pop exch pop Insert}
ifelse
}ifelse
}def
/PrefixWalk % <root><proc> execute proc for each element
{$sort begin
cvx /!bt exch def bpwalk
end
}def
$sort begin
/bpwalk
{dup 0 get type /nulltype eq
{pop}
{aload pop aload pop exch bpwalk exch !bt bpwalk}
ifelse
}def
/bbwalk
{dup 0 get type /nulltype eq
{pop}
{aload pop aload pop bbwalk exch !bt bbwalk}
ifelse
}def
end % $sort
%!
% showfont.ps: print all characters in a font, encoded first, unencoded
% second. Assumes several other PostScript files included.
/tempstring 128 string def
/showfont { % fontname:name
/fontname exch def
/left paperwidth width sub 2 div def
/right left width add def
/marklength ptsize 20 div def
/fontdict fontname findfont def
fontdict dup /CharStrings known
{/CharStrings get} % for outline fonts
{/CharData get} % for bitmap fonts
ifelse /chardict exch def
fontdict dup /FontInfo known
{/FontInfo get dup /Notice known % for outline fonts
{/Notice get}
{pop ()} ifelse}
{pop ()} % for bitmap fonts
ifelse /notice exch def
fontdict dup /FontInfo known
{/FontInfo get dup /FullName known % for outline fonts
{/FullName get}
{ fontname tempstring cvs } ifelse}
{fontname} % for bitmap fonts
ifelse /fullname exch def
fontdict dup /FontInfo known
fontdict dup /FontInfo known
{/FontInfo get dup /version known % for outline fonts
{/version get}
{pop ()} ifelse}
{pop ()} % for bitmap fonts
ifelse /fversion exch def
/nam chardict maxlength dict def
/enc fontdict /Encoding get def
writeheader
fontname findfont ptsize scalefont setfont
currentfont /FontMatrix get 3 get /scale exch def
currentfont /FontBBox get aload pop
/ascent exch scale mul def pop
/descent exch scale mul def pop
0 255 showchars
printunencoded
/Times-Bold findfont 24 scalefont setfont
1.5 inch 10 inch moveto
%(CHARACTER SET SAMPLE PAGE) show
fullname show
/Times-Italic findfont 16 scalefont setfont
1 inch 2 inch moveto
(The characters shown here represent the complete PostScript) show
/Symbol findfont 12 scalefont setfont
(\322) show
/Times-Italic findfont 16 scalefont setfont
( character set.) show
/Times-BoldItalic findfont 16 scalefont setfont
1 inch 1.7 inch moveto
(Not all the characters shown here are accessible on all personal computers.)
show
/Times-Roman findfont 8 scalefont setfont
1 inch 1.35 inch moveto
(PostScript is a registered trademark of Adobe Systems Incorporated.) show
1 inch 1.20 inch moveto
shownotice {notice show} if
showpage
} def
/printunencoded {
% make sorted list (slist) of unencoded characters
nam /.notdef -1 put
/slist SortInit def
chardict {
pop /cname exch def
nam cname known not
{ slist cname dup length string cvs Insert }
if
} forall
% locate an open spot in the encoding vector
/counter 0 def /found false def
enc {
/.notdef eq
{ /found true def exit }
{ /counter counter 1 add def }
ifelse
} forall
found not {} if
%/encodingvectorfull /printunencoded /.error cvx exec in above line
% print every character in the sorted list
slist {
/cname exch cvn def
/savemarker save def
/newfont currentfont maxlength dict def
currentfont {
exch dup /FID ne
{ dup /Encoding eq
{exch dup length array copy newfont 3 1 roll put}
{exch newfont 3 1 roll put}
ifelse }
{pop pop}
ifelse
} forall
newfont /Encoding get counter cname put
/TempFont newfont definefont setfont
counter showch
x yline % leave these on the stack to save them after the 'restore'
savemarker restore
/yline exch def /x exch def
x yline moveto
} PrefixWalk
} def
% redefinitions
/inch {72 mul} def
/top 9.5 inch def
/bot 1 inch def
/paperwidth 8.5 inch def
/markwidth .25 def
/headerptsize 10 def
/headerfont /Helvetica findfont headerptsize scalefont def
/headerspace 12 def % extra space between header and first line
/bigruleht 15 def
/smallruleht .5 def
/rulespace 4 def
/tempstring 128 string def
/rule { % width, height
/h exch def /w exch def
0 h rlineto w 0 rlineto 0 0 h sub rlineto closepath fill
} def
/writeheader { % prints page header/footer and resets /yline
gsave
headerfont setfont
left top moveto gsave right left sub bigruleht rule grestore
bigruleht headerptsize sub dup rmoveto
gsave
1 setgray
showfullname {fullname show ( \() show} if
fontname tempstring cvs show
showversion {
( ) show
showfullname not {(\() show} if
fversion show
} if
showversion showfullname or {(\)) show} if
grestore
left top rulespace sub moveto right left sub smallruleht rule
showproduct {
1 inch .75 inch moveto
(FontSampler (c)1994 Lupin Software ) show statusdict /product get
show
( v. ) show version show
} if
grestore
/yline top ptsize headerspace add sub def
/x left def
x yline moveto
} def
/showchars { % initial, final: number
1 exch
{ /ccode exch def
/cname enc ccode get def
cname /.notdef ne chardict cname known and
{ nam cname ccode put ccode showch }
if
} for
} def
/showch { % c:number
/chs ( ) dup 0 5 -1 roll put def
/chw chs stringwidth pop def
x chw add space add right gt { wrap } if
showsbmarks {false sb} if
showbbox {sbb} if
chs show
showsbmarks {true sb} if
space 0 rmoveto
/x x chw add space add def
} def
/sb { % rightsb:boolean
/rightsb exch def
gsave
currentpoint translate
0 marklength neg moveto 0 marklength lineto
0 0 moveto marklength rightsb {neg} if 0 lineto
markwidth setlinewidth stroke
grestore
} def
/sbb {
gsave
currentpoint translate
0 0 moveto 0 ascent rlineto chw 0 rlineto
0 ascent neg descent add rlineto chw neg 0 rlineto closepath
markwidth setlinewidth stroke
grestore
} def
/pagebreak {showpage writeheader} def
/newline {
/yline yline ptsize lead add sub def
/x left def
yline bot lt {pagebreak} if
} def
/wrap {
newline
/x left def
x yline moveto
} def
/ptsize 24 def
/lead 4 def
/space 4 def
/width 400 def
/showfullname true def
/shownotice true def
/showversion true def
/showsbmarks false def
/showbbox false def
/showproduct true def
%To the user: In the last line of this file,
%type slash followed by the typefaces
%PostScript name, followed by the space,
%and the word showfont,
%e.g., /Bookman-Demi showfont
LR_FontName showfont